#include "../meushell.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

/**
 * Constroi o vetor de argumento atravez da entrada
 *
 * param input: string para a operação
 *              args, vetor de string que recebera os resultados
 *              int bg referência para operação em background
 * return: vetor de parâmetros.
 */
void const_args(char *input, char **args, int *bg)
{
    int ncom = 0;
    char *aux=input;
    char temp[100];
    int i = 0;
    bzero(temp, 100);
    
    while(*aux != '\0'){
        if(*aux == ' '){
            if(args[i] == NULL)
				args[i] = (char *)malloc(sizeof(char) * ARGS_S);
			else {
				args[i][0] = '\0';
			}
            strcpy(args[i], temp);
            strcat(args[i], "\0");
            bzero(temp, 100);
            i++;
        }
        else {
            strncat(temp, aux, 1);
        }
        aux++;
    }
	args[i] = (char *)malloc(sizeof(char) * strlen(temp) + 1);
    strcpy(args[i], temp);
    strcat(args[i], "\0");
    
    // Verifica se os argumentos são para controle (piped ou em bg)
    if(strcmp(args[i], "&") == 0){
        *bg = 1;
        args[i] = NULL;
    }
}
